package com.android.yummycookies.service.storer.imagesStorer.binder;

import java.util.Set;

import android.graphics.Bitmap;
import android.util.SparseArray;

/**
 * Interface de stockage de bitmap
 * 
 * @author julien
 * 
 */
public interface IBitmapsStoreBinder {

	/**
	 * Retourne le bitmap identifie par l'id renseigne
	 * 
	 * @param id
	 *            l'identifiant du bitmap a rechercher
	 * @return le bitmap stocke associe a l'identifiant renseigne, null si
	 *         innexistant
	 */
	public Bitmap getBitmap(int id);

	/**
	 * Retourne un ensemble de bitmap associes aux id renseignes
	 * 
	 * @param ids
	 *            une liste d'identifiants de bitmap a rechercher
	 * @return un ensemble de bitmap associes aux id renseignes, null si
	 *         innexistants
	 */
	public SparseArray<Bitmap> getAllBitmaps(Set<Integer> ids);

	/**
	 * Charge le bitmap identifie par l'id renseigne
	 * 
	 * @param id
	 *            l'identifiant du bitmap a charger
	 */
	public void loadBitmap(int id);

	/**
	 * Charge une liste de bitmap associes aux identifiants renseignes
	 * 
	 * @param ids
	 *            l'ensemble des identifiants de bitmap a charger
	 */
	public void loadAllBitmaps(Set<Integer> ids);

	/**
	 * Supprime le bitmap identifie par l'id renseigne
	 * 
	 * @param id
	 *            l'identifiant du bitmap a supprimer
	 */
	public void removeBitmap(int id);

	/**
	 * Supprime l'ensemble des bitmap associes aux identifiants renseignes
	 * 
	 * @param ids
	 *            un ensemble d'identifiant de bitmap a supprimer
	 */
	public void removeAllBitmaps(Set<Integer> ids);
}
